home *** CD-ROM | disk | FTP | other *** search
/ TOS Silver 2000 / TOS Silver 2000.iso / Falcon / CENTEK / CENTSCRN / DEV / PURE_C / LIB / SRC / DOLMENLB.S next >
Encoding:
Text File  |  1998-02-23  |  5.5 KB  |  284 lines

  1. ;
  2. ;
  3. ;        Lib for DOLMEN-XBIOS (rev. 1)
  4. ;
  5. ;        with Turbo/Pure C parameter passing (d0-d2/a0-a1)
  6. ;
  7. ;        Last update: 20.02.98            by David RENÉ
  8. ;
  9.     
  10.     .EXPORT            Vread            ; pour connaître le mode vidéo en cours.
  11.     .EXPORT            Vwrite        ; pour changer les résolutions.
  12.     .EXPORT        Vattrib        ; modifie les attributs d'un mode vidéo.
  13.     .EXPORT        Vcreate        ;    ajoute un nouveau mode vidéo.
  14.     .EXPORT        Vdelete        ; efface un mode vidéo.
  15.     .EXPORT        Vfirst        ; fournit les paramètres du premier mode vidéo disponible.
  16.     .EXPORT        Vnext            ; fournit le mode suivant.
  17.     .EXPORT        Vvalid        ; vérifie l'intégrité d'un mode vidéo.
  18.     .EXPORT        Vload            ; recharge le VIDEO.DAT.
  19.     .EXPORT        Vsave            ; sauve les paramètres vidéo dans le VIDEO.DAT.
  20.     .EXPORT        Vopen            ; Réveille l'écran.
  21.     .EXPORT        Vclose        ; Eteint l'écran.
  22.     .EXPORT        Vscroll        ; Fixe la méthode de scrolling.
  23.     .EXPORT        Voffset        ; Position de l'écran virtuel.
  24.     .EXPORT        Vseek            ; Positionne l'écran virtuel
  25.     .EXPORT        Vlock            ; Bloque l'écran virtuel.
  26.     .EXPORT        SetMon        ; Modifie le type de moniteur.
  27.     .EXPORT        MultiMon    ; Mode multisynchro.
  28.     .EXPORT        SizeComp    ; Compatibilité de Vgetsize.
  29.     .EXPORT        VmodeValid    ; Compatibilité de Vgetsize.
  30.  
  31.  
  32. VREAD             equ    65
  33. VWRITE          equ    66
  34. VATTRIB            equ    67
  35. VCREATE            equ    68
  36. VDELETE            equ    69
  37. VFIRST            equ    70
  38. VNEXT                equ    71
  39. VVALID            equ    72
  40. VLOAD                equ    73
  41. VSAVE                equ    74
  42. VOPEN                equ    75
  43. VCLOSE            equ    76
  44. VSCROLL            equ    77
  45. VOFFSET            equ    78
  46. VSEEK                equ    79
  47. VLOCK                equ    80
  48. SETMON            equ    81
  49. MULTIMON        equ    82
  50. SIZECOMP        equ    83
  51. VMODEVALID    equ    95
  52.  
  53.  
  54. MACRO    CALLDRVR num
  55.     move.w    #(num),-(sp)
  56.     trap    #14
  57. ENDM
  58.  
  59.     .TEXT
  60.  
  61. MODULE    Vread:
  62.  
  63.         move.l        a2,-(sp)        ; sauve A2
  64.         move.l        a0,-(sp)
  65.         CALLDRVR    VREAD
  66.         lea                6(sp),sp        ; corrige la pile
  67.         move.l        (sp)+,a2        ; restore A2
  68.         rts
  69.  
  70. ENDMOD
  71.  
  72. MODULE    Vwrite:
  73.  
  74.         move.l        a2,-(sp)        ; sauve A2
  75.         move.l        a1,-(sp)        ;    Pointeur sur OutParam
  76.         move.l        a0,-(sp)        ; Pointeur sur InParam
  77.         move.w        d0,-(sp)        ; InitVDI
  78.         CALLDRVR    VWRITE
  79.         lea                12(sp),sp        ; corrige la pile
  80.         move.l        (sp)+,a2        ; restore A2
  81.         rts
  82.  
  83. ENDMOD
  84.  
  85. MODULE    Vattrib:
  86.  
  87.         move.l        a2,-(sp)        ; sauve A2
  88.         move.l        a1,-(sp)        ;    Pointeur sur OutParam
  89.         move.l        a0,-(sp)        ; Pointeur sur InParam
  90.         CALLDRVR    VATTRIB
  91.         lea                10(sp),sp        ; corrige la pile
  92.         move.l        (sp)+,a2        ; restore A2
  93.         rts
  94.  
  95. ENDMOD
  96.  
  97. MODULE    Vcreate:
  98.  
  99.         move.l        a2,-(sp)        ; sauve A2
  100.         move.l        a1,-(sp)        ;    Pointeur sur OutParam
  101.         move.l        a0,-(sp)        ; Pointeur sur InParam
  102.         CALLDRVR    VCREATE
  103.         lea                10(sp),sp        ; corrige la pile
  104.         move.l        (sp)+,a2        ; restore A2
  105.         rts
  106.  
  107. ENDMOD
  108.  
  109. MODULE    Vdelete:
  110.  
  111.         move.l        a2,-(sp)        ; sauve A2
  112.         move.w        d0,-(sp)        ; Pointeur sur InParam
  113.         CALLDRVR    VDELETE
  114.         lea                4(sp),sp        ; corrige la pile
  115.         move.l        (sp)+,a2        ; restore A2
  116.         rts
  117.  
  118. ENDMOD
  119.  
  120. MODULE    Vfirst:
  121.  
  122.         move.l        a2,-(sp)        ; sauve A2
  123.         move.l        a1,-(sp)        ; Pointeur sur InParam
  124.         move.l        a0,-(sp)        ; Pointeur sur InParam
  125.         CALLDRVR    VFIRST
  126.         lea                10(sp),sp        ; corrige la pile
  127.         move.l        (sp)+,a2        ; restore A2
  128.         rts
  129.  
  130. ENDMOD
  131.  
  132. MODULE    Vnext:
  133.  
  134.         move.l        a2,-(sp)        ; sauve A2
  135.         move.l        a1,-(sp)        ; Pointeur sur InParam
  136.         move.l        a0,-(sp)        ; Pointeur sur InParam
  137.         CALLDRVR    VNEXT
  138.         lea                10(sp),sp        ; corrige la pile
  139.         move.l        (sp)+,a2        ; restore A2
  140.         rts
  141.  
  142. ENDMOD
  143.  
  144. MODULE    Vvalid:
  145.  
  146.         move.l        a2,-(sp)        ; sauve A2
  147.         move.w        d0,-(sp)        ; Pointeur sur InParam
  148.         CALLDRVR    VVALID
  149.         lea                4(sp),sp        ; corrige la pile
  150.         move.l        (sp)+,a2        ; restore A2
  151.         rts
  152.  
  153. ENDMOD
  154.  
  155. MODULE    Vload:
  156.  
  157.         move.l        a2,-(sp)        ; sauve A2
  158.         CALLDRVR    VLOAD
  159.         lea                2(sp),sp        ; corrige la pile
  160.         move.l        (sp)+,a2        ; restore A2
  161.         rts
  162.  
  163. ENDMOD
  164.  
  165. MODULE    Vsave:
  166.  
  167.         move.l        a2,-(sp)        ; sauve A2
  168.         CALLDRVR    VSAVE
  169.         lea                2(sp),sp        ; corrige la pile
  170.         move.l        (sp)+,a2        ; restore A2
  171.         rts
  172.  
  173. ENDMOD
  174.  
  175. MODULE    Vopen:
  176.  
  177.         move.l        a2,-(sp)        ; sauve A2
  178.         CALLDRVR    VOPEN
  179.         lea                2(sp),sp        ; corrige la pile
  180.         move.l        (sp)+,a2        ; restore A2
  181.         rts
  182.  
  183. ENDMOD
  184.  
  185. MODULE    Vclose:
  186.  
  187.         move.l        a2,-(sp)        ; sauve A2
  188.         CALLDRVR    VCLOSE
  189.         lea                2(sp),sp        ; corrige la pile
  190.         move.l        (sp)+,a2        ; restore A2
  191.         rts
  192.  
  193. ENDMOD
  194.  
  195. MODULE    Vscroll:
  196.  
  197.         move.l        a2,-(sp)        ; sauve A2
  198.         move.w        d0,-(sp)        ;    ScrollMode
  199.         CALLDRVR    VSCROLL
  200.         lea                4(sp),sp        ; corrige la pile
  201.         move.l        (sp)+,a2        ; restore A2
  202.         rts
  203.  
  204. ENDMOD
  205.  
  206. MODULE    Voffset:
  207.  
  208.         move.l        a2,-(sp)        ; sauve A2
  209.         CALLDRVR    VOFFSET
  210.         lea                2(sp),sp        ; corrige la pile
  211.         move.l        (sp)+,a2        ; restore A2
  212.         rts
  213.  
  214. ENDMOD
  215.  
  216. MODULE    Vseek:
  217.  
  218.         move.l        a2,-(sp)        ; sauve A2
  219.         move.w        d1,-(sp)
  220.         move.w        d0,-(sp)
  221.         CALLDRVR    VSEEK
  222.         lea                6(sp),sp        ; corrige la pile
  223.         move.l        (sp)+,a2        ; restore A2
  224.         rts
  225.  
  226. ENDMOD
  227.  
  228. MODULE    Vlock:
  229.  
  230.         move.l        a2,-(sp)        ; sauve A2
  231.         move.w        d0,-(sp)
  232.         CALLDRVR    VLOCK
  233.         lea                4(sp),sp        ; corrige la pile
  234.         move.l        (sp)+,a2        ; restore A2
  235.         rts
  236.  
  237. ENDMOD
  238.  
  239. MODULE    SetMon:
  240.  
  241.         move.l        a2,-(sp)        ; sauve A2
  242.         move.w        d0,-(sp)
  243.         CALLDRVR    SETMON
  244.         lea                4(sp),sp        ; corrige la pile
  245.         move.l        (sp)+,a2        ; restore A2
  246.         rts
  247.  
  248. ENDMOD
  249.  
  250. MODULE    MultiMon:
  251.  
  252.         move.l        a2,-(sp)        ; sauve A2
  253.         move.w        d0,-(sp)
  254.         CALLDRVR    MULTIMON
  255.         lea                4(sp),sp        ; corrige la pile
  256.         move.l        (sp)+,a2        ; restore A2
  257.         rts
  258.  
  259. ENDMOD
  260.  
  261. MODULE    SizeComp:
  262.  
  263.         move.l        a2,-(sp)        ; sauve A2
  264.         move.w        d0,-(sp)
  265.         CALLDRVR    SIZECOMP
  266.         lea                4(sp),sp        ; corrige la pile
  267.         move.l        (sp)+,a2        ; restore A2
  268.         rts
  269.  
  270. ENDMOD
  271.  
  272. MODULE    VmodeValid:
  273.  
  274.         move.l        a2,-(sp)        ; sauve A2
  275.         move.w        d0,-(sp)
  276.         CALLDRVR    VMODEVALID
  277.         lea                4(sp),sp        ; corrige la pile
  278.         move.l        (sp)+,a2        ; restore A2
  279.         rts
  280.  
  281. ENDMOD
  282.  
  283.     .END
  284.